<?php
class PublicAction extends Action{
	function login(){
		$this->display();
	}
	
	function verify(){
		import('ORG.Util.Image');
		image::buildImageVerify();
		
	}
function checklogin(){
	//验证是否填写
	if(empty($_POST['username'])){
		$this->error('没有填写用户名！');
	}
	//整理需要验证的数据
	$map=array();
	$map['name']=$_POST['username'];
	//$map['active']=array('gt',0);没有使用！！！！！
	if($_SESSION['verify']!=md5($_POST['verify'])){
		$this->error('验证码输入错误！');
	}
	//RBAC验证
	import('ORG.Util.RBAC');
	//提取用户数据
	$user=RBAC::authenticate($map);//dump($user);
	//判断是否能够提取用户数据
	if(empty($user)){
		$this->error('用户不存在或者没有激活！');
		
	}else{
		//如果用户数据提交成功，判断密码是否输入正确
		if($user['pwd']!=md5($_POST['pwd'])){
			$this->error('用户名密码输入错误!');
		}
		//验证通过，保存session
		$_SESSION[c('USER_AUTH_KEY')]=$user['id'];
		//存储后面需要用到的用户数据，例如邮箱，登录时间等
		
		//超级管理员身份认证
		if($user['name']=='admin'){
			$_SESSION[C('ADMIN_AUTH_KEY')]=true;
			//该用户不受权限认证
		}  
		//保存用户本次登录信息
		$u=M('User');
		$lastdate=date('Y-m-d H:i:S');
		$row['id']=$user['id'];
		//$row['last_login_date']=$lastdate;
		$u->save($row);
		//缓存访问权限
		RBAC::saveAccessList();
		//页面登陆成功跳转
		$this->assign('jumpUrl',__APP__.'/Index/index');
		$this->success('登陆成功！');
		
		
		
	}
		
	}

	function logout(){
		//判断用户是否登录
		if(!empty($_SESSION[C('USER_AUTH_KEY')])){
			//登录中
			unset($_SESSION[C('USER_AUTH_KEY')]);
			$_SESSION=array();
			session_destroy();
			$this->success('登出成功！');
			
		}else{
			//已经登出
			$this->success('已经登出！');
			
		}
	}
	
	
}